package svc

import (
	"encoding/json"
	"fmt"
	"github.com/shugen/models"
)

func (s *Svc) men_xing_common(mx *models.MenXing) ([]*Desc, error) {

	desc := make([]*Desc, 0)
	rsp, err := s.SelectMenXing(mx)
	if err != nil {
		return desc, err
	}
	err = json.Unmarshal([]byte(rsp.Desc), &desc)
	if err != nil {
		return desc, err
	}
	return desc, nil
}

//门与星的关系,星生门，星克门，门生星，门克星
func (s *Svc) men_xing(xing, men, sex string) []*Desc {

	result := make([]*Desc, 0)

	//星自身
	switch xing {
	case "1":
		//天蓬星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 1})
		if err != nil {
			fmt.Println("天蓬星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：性格舒缓，不慌不忙，不急不躁，从容淡定，比较理智，会喝酒，若不走正道会吃亏。")
	case "2":
		//天芮星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 2})
		if err != nil {
			fmt.Println("天芮星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：性格不好，死相，思想消极，问题多，爱生病，好学，自私，心里有死结解不开，夫妻关系不和。")
	case "3":
		//天冲星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 3})
		if err != nil {
			fmt.Println("天冲星error:", err)
		}
		result = append(result, rsp...)
		//esult = append(result, "外在：性格急躁，雷厉风行，敢作敢为，正直仁义，冲动，爱表演，能打下江山，但守不住 ，不守财，喜欢冲在前打头阵。不好沟通，解决问题废劲。")
	case "4":
		//天辅星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 4})
		if err != nil {
			fmt.Println("天辅星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：为人和气，人缘好，有修养，但思想闭塞，格局小，结交的朋友、同事都比较善于帮助自己；")
	case "5":
		//天禽星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 5})
		if err != nil {
			fmt.Println("天禽星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：性格踏实，人也端庄秀丽，人品不错，忠良正直，仁慈有感召力，但不决断；")
	case "6":
		//天心星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 6})
		if err != nil {
			fmt.Println("天心星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：思想积极，有领导能力，开拓精神，公私分明，格局大，潜力大，组织能力强，有心机，比较擅长与官方打交道。")
	case "7":
		//天柱星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 7})
		if err != nil {
			fmt.Println("天柱星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：性格沉稳，不急躁，原则性强，能说会道，中流砥柱，虽破坏力也强，但胆子小，比较是非；")
	case "8":
		//天任星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 8})
		if err != nil {
			fmt.Println("天任星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：宽容厚道，善良任性，开朗有活力，思想也积极，容易满足于当下。")
	case "9":
		//天英星
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 9})
		if err != nil {
			fmt.Println("天英星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：性子急，注重声望，做事虎头蛇尾，爱美虚荣，持久性差，喜欢长得漂亮/帅气的人，颜值控。")
	case "0":
		//空亡
		rsp, err := s.self_common(&models.Self{Type: "X", PhoneNumber: 0})
		if err != nil {
			fmt.Println("空亡error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "外在：比较目中无人，面对他人时，喜欢拿别人的与对方比，不认识眼前人，总觉得有比这个更厉害的，更好的")
	}

	//星同门
	if xing == men {

		rsp, err := s.men_xing_common(&models.MenXing{Type: 2})
		if err != nil {
			fmt.Println("星同门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "总是能和周边的同辈友人打成一片，快速融入一个圈子内，真是太棒了，如果当发现对方的缺点时，一定要记得先检查自己是否也有过如此哦，给出包容才能获得更多相互的体谅哦。")
	}
	//星生门(金生水) （men==0，男就是阳水，女就是阳火）
	if (xing == "2" || xing == "7") && (men == "1" || men == "6") {

		rsp, err := s.men_xing_common(&models.MenXing{Type: 2})
		if err != nil {
			fmt.Println("星同门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	if (xing == "2" || xing == "7") && men == "0" && sex == "male" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 2})
		if err != nil {
			fmt.Println("星同门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	//星生门(水生木)（xing==0，男就是阳水，女就是阳火）
	if (xing == "1" || xing == "6") && (men == "3" || men == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 2})
		if err != nil {
			fmt.Println("星同门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	if xing == "0" && sex == "male" && (men == "3" || men == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 2})
		if err != nil {
			fmt.Println("星同门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	//星生门(木生火)（men==0，男就是阳水，女就是阳火）
	if (xing == "3" || xing == "8") && (men == "4" || men == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 0})
		if err != nil {
			fmt.Println("星生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	if (xing == "3" || xing == "8") && men == "0" && sex == "female" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 0})
		if err != nil {
			fmt.Println("星生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	//星生门(火生土)（xing==0，男就是阳水，女就是阳火）
	if (xing == "4" || xing == "9") && men == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 0})
		if err != nil {
			fmt.Println("星生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	if xing == "0" && sex == "female" && men == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 0})
		if err != nil {
			fmt.Println("星生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}
	//星生门(土生金)
	if xing == "5" && (men == "2" || men == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 0})
		if err != nil {
			fmt.Println("星生门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "身边的同辈友人及对象都对比较关照，果然才是人生赢家，感恩起来吧。")
	}

	//星克门(金克木)
	if (xing == "2" || xing == "7") && (men == "3" || men == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	//星克门(木克土)
	if (xing == "3" || xing == "8") && men == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	//星克门(土克水)（men==0，男就是阳水，女就是阳火）
	if xing == "5" && (men == "1" || men == "6") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	if xing == "5" && men == "0" && sex == "male" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	//星克门(水克火)（xing==0，男就是阳水，女就是阳火）（men==0，男就是阳水，女就是阳火）
	if (xing == "1" || xing == "6") && (men == "4" || men == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	if (xing == "1" || xing == "6") && men == "0" && sex == "female" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	if xing == "0" && sex == "male" && (men == "4" || men == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	//星克门(火克金)（xing==0，男就是阳水，女就是阳火）
	if (xing == "4" || xing == "9") && (men == "2" || men == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}
	if xing == "0" && sex == "male" && (men == "2" || men == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 3})
		if err != nil {
			fmt.Println("星克门error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "虽然身边的人可能有时不太认可自己，但这些都是暂时的，只要我们保持纯良，及时发现自己的不足，持之以恒不断去做更优秀的自己，一定能吸引更多羡慕的眼光。")
	}

	//门生星(金生水)（xing==0，男就是阳水，女就是阳火）
	if (men == "2" || men == "7") && (xing == "1" || xing == "6") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	if (men == "2" || men == "7") && xing == "0" && sex == "male" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	//门生星(水生木)（men==0，男就是阳水，女就是阳火）
	if (men == "1" || men == "6") && (xing == "3" || xing == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	if men == "0" && sex == "male" && (xing == "3" || xing == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	//门生星（木生火）（xing==0，男就是阳水，女就是阳火）
	if (men == "3" || men == "8") && (xing == "4" || xing == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	if (men == "3" || men == "8") && xing == "0" && sex == "female" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	//门生星(火生土)（men==0，男就是阳水，女就是阳火）
	if (men == "4" || men == "9") && xing == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	if men == "0" && sex == "female" && xing == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}
	//门生星(土生金)
	if men == "5" && (xing == "2" || xing == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 1})
		if err != nil {
			fmt.Println("门生星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "对身边的同辈友人都比较关照，对对象更是放上心上宠，做的朋友真是太幸福了。")
	}

	//门克星(金克木)
	if (men == "2" || men == "7") && (xing == "3" || xing == "8") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	//门克星(木克土)
	if (men == "3" || men == "8") && xing == "5" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	//门克星(土克水)（xing==0，男就是阳水，女就是阳火）
	if men == "5" && (xing == "1" || xing == "6") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	if men == "5" && xing == "0" && sex == "male" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	//门克星(水克火)（men==0，男就是阳水，女就是阳火）（xing==0，男就是阳水，女就是阳火）
	if (men == "1" || men == "6") && (xing == "4" || xing == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	if (men == "1" || men == "6") && xing == "0" && sex == "female" {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	if men == "0" && sex == "male" && (xing == "4" || xing == "9") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	//门克星(火克金)（men==0，男就是阳水，女就是阳火）
	if (men == "4" || men == "9") && (xing == "2" || xing == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}
	if men == "0" && sex == "female" && (xing == "2" || xing == "7") {
		rsp, err := s.men_xing_common(&models.MenXing{Type: 4})
		if err != nil {
			fmt.Println("门克星error:", err)
		}
		result = append(result, rsp...)
		//result = append(result, "圈子似乎有点儿窄，其实也不小，小的是我们无法包容他人的心。")
	}

	return result
}
